package com.easonji.admin.service;

import com.easonji.admin.model.UserUserPost;
import com.easonji.common.base.query.BaseQuery;


/**
 * <p>
 * 员工上下级关系及职务管理 服务类
 * </p>
 *
 * @author easonji
 * @since 2018-10-01
 */

public interface IUserUserPostService  {

    /**
    * 查询员工上下级关系及职务管理列表
    *
    * @param baseQuery 员工上下级关系及职务管理列表查询条件
    *
    * @return 员工上下级关系及职务管理列表
    */
    Object queryList(BaseQuery baseQuery);

    /**
    * 根据员工上下级关系及职务管理ID，查询员工上下级关系及职务管理信息
    *
    * @param sId 员工上下级关系及职务管理ID
    *
    * @return 员工上下级关系及职务管理信息
    */
    Object queryRowById(Integer sId);

    /**
    * 添加 员工上下级关系及职务管理
    *
    * @param userUserPost 员工上下级关系及职务管理表单
    * @return 添加结果
    */
    Integer save(UserUserPost userUserPost);

    /**
    * 修改 员工上下级关系及职务管理
    *
    * @param userUserPost  员工上下级关系及职务管理表单
    * @return 修孜结果
    */
    Integer  update(UserUserPost userUserPost);

    /**
    * 删除 员工上下级关系及职务管理
    *
    * @param sId  员工上下级关系及职务管理表单
    * @return 删除结果
    */
    Integer  delete(Integer sId);

    /**
     * 通过用户 ID 及职务 查询上级用户 ID
     * @param userId
     * @param postId
     * @return 上级用户 ID upid
     */
    Integer queryUserPidByuserIdandpost(Integer userId,Integer postId);

    /**
     * 通过 PID 查询管理下级
     * @param pid
     * @return
     */
    Object queryListByPid(Integer pid);

}
